<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // js编程特点：
        // 函数式编程和面向对象编程的混编语言
        // 可扩展性强
        // 优点：编程灵活，易学
        // 缺点：不可控
        // 面向对象与函数式编程关系
        // 面向对象面临复杂的this指向
        // 在程序高度复用的时候选择面向对象
        // 函数式编程：
        // 有点：易读 易维护
        // 概念：函数是第一类对象，不依赖任何其他对象独立存在

        // 纯函数
        // 相同的输入得到相同的输出，不依赖且不影响外部环境也不产生任何副作用
        // 输出完全取决于输入
        // 副作用：只要根函数外部环境发生了交互就是副作用
        // 发送数据请求，改变数据，console.log dom操作，数据存储
        // 优点：可移植性
    </script>
</body>

</html>